using System.Net;
using HandlebarsDotNet;

namespace CMS.Common;

public static class ArticleTemplateHelper {
    public static async Task RenderTemplate(string templatePath, string outputDir, object model, string fileName) {
        
        // 读取模板文件内容
        string templateContent = await File.ReadAllTextAsync(templatePath);

        // 编译模板
        var template = Handlebars.Compile(templateContent);

        // 渲染模板
        string renderedTemplate = template(model);

        // 指定保存结果的文件路径
        string outputPath = Path.Combine(outputDir, fileName + ".html");

        // 保存渲染后的模板到指定文件
        await File.WriteAllTextAsync(outputPath, renderedTemplate);
    }
}